import {WebInfo} from "@/api/webInfo/types";
import {SingleChatList} from "@/api/msg/types";
import {GroupChatList} from "@/api/groupmsg/types";
import {ConversationData} from "@/model/chat";
import {RecordForm} from "@/api/record/types";
import {Agreement} from "@/api/agreement/types";
import {QuizForm} from "@/api/quiz/types";

/**
 * 应用
 */
export interface AppState {
    /**
     * 侧边栏展开(1展开 2全展开 3收缩)
     */
    isCollapse: number;
    /**
     * 用户中心展开
     */
    userFlag: boolean;
    /**
     * 背景图片
     */
    backgroundImg: number;
    /**
     * 背景图片列表
     */
    backgroundImgList: number[];
    /**
     * 图标统一颜色
     */
    iconColor: string;
    /**
     * 搜索框
     */
    searchFlag: boolean;
    /**
     * 登录框
     */
    loginFlag: boolean;
    /**
     * 注册框
     */
    registerFlag: boolean;
    /**
     * 忘记密码框
     */
    forgetFlag: boolean;
    /**
     * 邮箱框
     */
    emailFlag: boolean;
    /**
     * 左侧展开
     */
    sideFlag: boolean;
    /**
     * 聊天页
     */
    chatFlag: boolean;
    /**
     * 是否展示动态文本
     */
    isBrand: boolean;
    /**
     * 头部导航栏(0不显示 1记录 2约起 3学习 4发布)
     */
    isHandler: number;
    /**
     * 视频播放的音量(0-1)
     */
    volume: number;
    /**
     * 是否暗色
     */
    isDark: boolean;
    /**
     * 主题名称
     */
    themeName: string;
    /**
     * 是否使用次色作为背景
     */
    isThemeBg: boolean;
    /**
     * 是否开启控制功能
     */
    isController: boolean;
    /**
     * 专栏(1约会 2活动 3赛事 4帮助)
     */
    specialFlag: number;
}

/**
 * 用户
 */
export interface UserState {
    /**
     * 用户id
     */
    id?: number;
    /**
     * 头像
     */
    avatar: string;
    /**
     * 昵称
     */
    nickname: string;
    /**
     * 用户名
     */
    username: string;
    /**
     * 邮箱
     */
    email: string;
    /**
     * 个人简介
     */
    intro: string;
    /**
     * 活动参与度
     */
    degree: number;
    /**
     * 解疑等级
     */
    grade: number;
    /**
     * 登录方式
     */
    loginType?: number;
    /**
     * 第三方登录之前的path
     */
    path: string;
    /**
     * 记录点赞集合
     */
    recordLikeSet: number[];
    /**
     * 评论点赞集合
     */
    commentLikeSet: number[];
    /**
     * 题目点赞集合
     */
    quizLikeSet: number[];
}

/**
 * 网站
 */
export interface WebState {
    /**
     * 网站信息
     */
    webInfo: WebInfo;
}

/**
 * 我的约起
 */
export interface MyAgreeState {
    /**
     * 约起类型(1约会 2活动 3赛事 4帮助)
     */
    type: number;
    /**
     * 约起列表
     */
    list: Agreement[];
}

/**
 * 聊天
 */
export interface ChatState {
    /**
     * 聊天消息处理类型(0/false未开启 1单聊 2群聊 3约聊列表 4群聊列表 5请求列表)
     */
    chatType: number;
    /**
     * 是否在白板协作
     */
    isToCoArtBoard: boolean;
    /**
     * 是否正在视频通话
     */
    isVideoing: boolean;
    /**
     * 是否正在语音通话
     */
    isVoice: boolean;
    /**
     * 当前的聊天会话
     */
    currentConversation: ConversationData;
    /**
     * 同意好友验证
     */
    agreeFriendValidate: boolean;
    /**
     * 最近的单聊列表
     */
    recentSingleList: SingleChatList[];
    /**
     * 最近的群聊列表
     */
    recentGroupList: GroupChatList[];
    /**
     * 在线用户ids
     */
    onlineUser: number[];
    /**
     * 所有会话
     */
    allConversation: [];
}
